#pragma once
// Customer.h
#ifndef CUSTOMER_H
#define CUSTOMER_H

#include <string>

class Customer {
private:
    int id;
    std::string type; // "Normal" or "VIP"
public:
    Customer(int id, std::string type);
    int getID() const;
    std::string getType() const;
};

#endif // CUSTOMER_H
// Queue.h
#ifndef QUEUE_H
#define QUEUE_H


#include <list>

class Queue {
private:
    std::list<Customer> customers;
public:
    void enqueue(const Customer& customer);
    Customer* dequeue();
    bool isEmpty() const;
    void printQueue();
};

#endif // QUEUE_H
// ServiceWindow.h
#ifndef SERVICEWINDOW_H
#define SERVICEWINDOW_H



class ServiceWindow {
private:
    int servingCustomerId;
public:
    void serve(Queue& queue);
    void requestEvaluation();
};

#endif // SERVICEWINDOW_H
